package com.zhuanzhuan.hero.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhuanzhuan.hero.user.dto.SavePaymentDTO;
import com.zhuanzhuan.hero.user.vo.UserPaymentVO;
import com.zhuanzhuan.hero.user.entity.HeroUserPaymentInfo;

import java.util.List;

/**
 * @ClassName IUserPaymentService
 * @Description
 * @Author hanjunjun
 * @Date 2024/6/21 16:03
 */
public interface HeroUserPaymentService extends IService<HeroUserPaymentInfo> {

    /**
     * 根据uid查询
     *
     * @param uid
     * @return java.util.List<com.zhaunzhuan.hero.user.vo.UserPaymentVO>
     * @author  hanjunjun
     * @date 2024/6/21
     **/
    List<UserPaymentVO> queryUserPaymentInfoByUid(Long uid);

    /**
     * 更新收款方式  没有则创建
     *
     * @param uid
     * @param savePaymentDTO
     * @return void
     * @author  hanjunjun
     * @date 2024/6/21
     **/
    void saveOrUpdateUserPayment(Long uid, SavePaymentDTO savePaymentDTO);

    /**
     * 查询默认收款方式
     *
     * @param uid
     * @return com.zhuanzhuan.hero.user.vo.UserPaymentVO
     * @author  hanjunjun
     * @date 2024/6/24
     **/
    UserPaymentVO queryUserDefaultPaymentInfo(Long uid);



    List<HeroUserPaymentInfo> listByUid(Long uid);

    HeroUserPaymentInfo getByUidAndType(Long uid, Integer paymentType);
}
